Bags: A Parallel ADT for Functional Languages

نویسنده

  • Paul Roe
چکیده

It is impossible to express non-deterministic algorithms in conventional functional languages; even if such algorithms' results are deterministic. This paper considers the introduction of bags (multisets) into functional languages. These admit a non-deterministic implementation but put an onus on the programmer to prove that they are used determinately. Usually such proofs are straightforward. Bags make some algorithms easier to write and more eecient than would otherwise be possible. An implementation of bags, based on a rewriting system is sketched.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implicit Array Copying : Prevention is Better than

SISAL is a purely functional language which supports arrays. The diiculty with supporting purely functional arrays is that a prohibitive amount of copying can be necessary. SISAL uses a sophisticated compile-time analysis to alleviate some copying associated with array operations. This compile-time analysis is discussed and some problems with it are exposed. The alternative to curing copying, i...

متن کامل

Semantic Lego

Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features in uence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Following Mosses [Mos92], we divide a semantics into two parts, a computation ADT and a language ADT (a...

متن کامل

A Formal Comparison of ADT-based Dimensional Query Languages

This paper investigates and formally compares the expressive power of dimensional (i.e., spatial, temporal, and spatio-temporal) query languages, where the dimensional extensions are supported in terms of ADTs (abstract data types). There are basically two approaches to the design of dimensional ADT extended query languages. One approach, by definition, adds semantics by interpreting an ADT att...

متن کامل

Translating TROLL light Concepts to Maude

The speciication language TROLL light is designed for the conceptual modeling of information systems. Maude is a logic programming language, which uniies the two paradigms of functional and concurrent object-oriented programming. Because of the very similar features ooered by both languages, we present a translation from TROLL light concepts into the Maude language in order to compare the langu...

متن کامل

Deciding and Interpolating Algebraic Data Types by Reduction (Technical Report)

Recursive algebraic data types (term algebras, ADTs) are one of the most well-studied theories in logic, and find application in contexts including functional programming, modelling languages, proof assistants, and verification. At this point, several state-of-the-art theorem provers and SMT solvers include tailor-made decision procedures for ADTs, and version 2.6 of the SMT-LIB standard includ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007